/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo.persistencia;

import java.util.*;
import java.sql.*;
import modelo.SistAutenticacion;
import modelo.ISistAutenticacion;

/**
 *
 * @author Juanma
 */
public class SistAutenticacionDAO implements ISistAutenticacionDAO {

    public ISistAutenticacion read(String usuario, String password) {
        ISistAutenticacion c = null;
        try {
            Statement stmt = Persistencia.createConnection().createStatement();
            ResultSet res = stmt.executeQuery("SELECT * FROM personas where usuario=" + usuario + " and password=" + password);
            String user,pass,rol;
            if (res.next()) {
                user = res.getString("usuario");
                pass = res.getString("password");
                rol = res.getString("rol");
                System.out.println("usuario: " + usuario + " password: " + password + " rol: " + rol);
                c = new SistAutenticacion(user,pass,rol);
            }

        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            Persistencia.closeConnection();
        }
        return c;
    }

    public List<ISistAutenticacion> list() {
        List<ISistAutenticacion> autenticacion = new ArrayList<ISistAutenticacion>();

        try {
            Statement stmt = Persistencia.createConnection().createStatement();
            ResultSet res = stmt.executeQuery("SELECT * FROM personas ");
            String usuario,password,rol;
            while (res.next()) {
                usuario = res.getString("usuario");
                password = res.getString("password");
                rol = res.getString("rol");
                //System.out.println("usuario: " + usuario + " password: " + password + " rol: " + rol);
                autenticacion.add(new SistAutenticacion(usuario,password,rol));
            }

        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            Persistencia.closeConnection();
        }
        return autenticacion;
    }
}

